;(function (window) {
    var goTop = function (btn) {
        var obtn = document.getElementById("" + btn);
        var clientHeight = document.documentElement.clientHeight; //获取可视区域高度
        var timer = null; //定时器
        var isTop = true; //为判断在滚动条还没滚动到顶部时 是否滑动了滚轮
        window.onscroll = function () { //滚动条滚动时触发
            var osTop = document.documentElement.scrollTop || document.body.scrollTop;
            if (osTop >= clientHeight) {
                obtn.style.display = "block"; //高于第一屏时候 显示
            } else {
                obtn.style.display = "none";
            }
            if (!isTop) {
                clearInterval(timer);
            }
            isTop = false; //在滚上去的时候 有滑轮滑动 把isTop设置为false
        };
        obtn.onclick = function () {
            timer = setInterval(function () { //设置定时器
                var osTop = document.documentElement.scrollTop || document.body.scrollTop; //获取滚动条滚动的高度
                var ispeed = Math.floor(-osTop / 5); //切换速度---解决不能到顶的bug 如果用 正数 不能到顶 所以这里用负数
                document.documentElement.scrollTop = document.body.scrollTop = osTop + ispeed; //这个属性可以读可以写
                isTop = true;
                if (osTop === 0) {
                    clearInterval(timer);
                }
            }, 30);
        }
    };

    goTop.prototype = {

    };

    goTop.init = function (btns) {
        var _this = this;
        btns.each(function () {
            new _this(this);
        })
    };

    return window.goTop = goTop;
})(window);
